#pragma once

class ChessPiece
{
public:
	ChessPiece(void);
	~ChessPiece(void);
	void SetImage(std::string fileDir);
	void SetXPosition(int x);
	int GetXPosition();
	void SetYPosition(int y);
	int GetYPosition();
	void SetRow(int inputRow);
	int GetRow();
	void SetCollumn(int inputCollumn);
	int GetCollumn();
	void SetDeactive();
	void SetActive();
	bool IsActive();
	void Update();
	void ChangeSelectedState();
	bool IsSelected();
	void SetSelectedImage(std::string fileDir);
	void  Draw(Gdiplus::Graphics &graphics);
	void SetRedSide(bool side);
	bool IsRedSide();
	bool virtual CanMoveTo(POINT currPos, POINT newPos);
	//void setBoard(Board* board);
private:
	POINT boardPosition;
	POINT drawPosition;
	bool isActive;
	bool isSelected;
	bool isRedSide;
	GdiplusImagePtr selectedImagePointer;
	GdiplusImagePtr ImagePointer;
	//Board m_pBoard;
};

